const install = () => {
    uni.$u.$tools = {
        showError: function (message: string) {
            // #ifdef APP-PLUS
            plus.nativeUI.toast(message, {
                align: 'center',
                verticalAlign: 'center'
            })
            // #endif

            // #ifdef H5 || MP-WEIXIN
            uni.showToast({
                title: message,
                icon: 'none',
                position: 'bottom',
                duration: 2000
            })
            // #endif
        },
        closeToast: function () {
            // #ifdef APP-PLUS
            plus.nativeUI.closeToast()
            // #endif

            // #ifdef H5 || MP-WEIXIN
            uni.hideToast()
            // #endif
        },
        /**
         * url添加参数
         * @param url
         * @param params
         * @returns {string}
         */
        dealUrlAndParams(url: string, params: any) {
            if (params) {
                let ps = '?'
                for (let name in params) {
                    ps = ps + name + '=' + params[name] + '&'
                }
                if (ps.lastIndexOf('&') > 0) {
                    ps.substring(0, ps.length - 1)
                }
                url = url + ps
            }
            return url
        },
        /**
         * 去除null参数
         * @param url
         * @param params
         * @returns {string}
         */
        dealNullParams(params: any) {
            let obj: any = {}
            if (params) {
                for (let name in params) {
                    if (params[name] || params[name] == 0) {
                        obj[name] = params[name]
                    }
                }
            }
            return obj
        },
        /**
         * px 转 rpx
         * @param {Number} px 传入px
         */
        px2rpx(px: number) {
            return (px * 100) / uni.upx2px(100)
        },
        numberFormat(n: number) {
            if (n < 10000) {
                return n
            } else {
                return Math.floor(n / 1000) + '万+'
            }
        },
        /**
         * 比较版本号的大小，如果curV 大于 reqV，则返回true，否则返回false
         * @param {String} curV 最新版本号
         * @param {String} reqV 本地版本号
         */
        Version(curV: string, reqV: string) {
            var arr1 = curV.toString().split('.')
            var arr2 = reqV.toString().split('.')
            //将两个版本号拆成数字
            var maxL = Math.max(arr1.length, arr2.length)
            var pos = 0 //当前比较位
            var diff = 0 //当前为位比较是否相等
            var flag = false
            //逐个比较如果当前位相等则继续比较下一位
            while (pos < maxL) {
                diff = parseInt(arr1[pos]) - (parseInt(arr2[pos]) || 0)
                if (diff == 0) {
                    pos++
                    continue
                } else if (diff > 0) {
                    flag = true
                    break
                } else {
                    flag = false
                    break
                }
            }
            return flag
        }
    }
}
export default {
    install
}
